16x16 tough.txt

Order 4: digits 16; houses 48, cells 256.

Grid.grid1: initial copying

pending={a1, a2, a3, a6, a10, a12, a13, a16, b3, b4, b5, b6, b7, b8, b9, b10, b12, c2, c4, c7, c8, c11, c13, d6, d9, d10, d12, d16, e3, e4, e9, e13, e15, f6, f8, f13, f15, f16, g1, g5, g8, g9, g12, g14, h2, h4, h7, h8, h9, h10, h13, h14, i2, i3, i5, i8, i16, j2, j7, j9, j11, j12, k1, k4, k5, k7, k9, k10, k14, l1, l2, l3, l5, l14, l15, m4, m5, m6, m7, m11, m14, m15, n1, n3, n10, n14, o2, o3, o7, o10, o12, o14, p2, p5, p6, p16}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowb. b11 is 6 by hidden-single.

pending={b11}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowb. b2 is 12 by hidden-single.

pending={b2}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowc. c1 is 13 by hidden-single.

pending={c1}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowh. h1 is 10 by hidden-single.

pending={h1}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowj. j10 is 12 by hidden-single.

pending={j10}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowc. c9 is 12 by hidden-single.

pending={c9}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowe. e11 is 12 by hidden-single.

pending={e11}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowf. f3 is 12 by hidden-single.

pending={f3}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowi. i7 is 12 by hidden-single.

pending={i7}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowl. l16 is 11 by hidden-single.

pending={l16}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowm. m10 is 10 by hidden-single.

pending={m10}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.col2. d2 is 10 by hidden-single.

pending={d2}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.col3. h3 is 9 by hidden-single.

pending={h3}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowh. h12 is 15 by hidden-single.

deduce.grid1.rowh. h15 is 14 by hidden-single.

pending={h12, h15}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowe. e1 is 14 by hidden-single.

pending={e1}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.col3. j3 is 15 by hidden-single.

pending={j3}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.box6. g6 is 11 by hidden-single.

pending={g6}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.box9. i1 is 5 by hidden-single.

pending={i1}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1: naked-pairs

two's heap=c12 {1|2}, d7 {3|6}, h6 {2|7}, a8 {5|11}, a9 {7|9}, h5 {5|7}, c5 {5|10}, b1 {1|15}, d5 {3|16}, b15 {15|16}, g2 {2|16}, c3 {1|11}, a5 {5|10}, h16 {5|13}.

Naked-pair {5|10} in cells {a5, c5} contained within {col5, box2}, updating cells {a8, d5, d7, d8, e5, f5, h5, j5, n5, o5}:

pending={a8, h5}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowf. f2 is 5 by hidden-single.

pending={f2}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowe. e8 is 5 by hidden-single.

pending={e8}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.col2. n2 is 15 by hidden-single.

pending={n2}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rown. n12 is 11 by hidden-single.

pending={n12}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowf. f10 is 11 by hidden-single.

pending={f10}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.col2. k2 is 11 by hidden-single.

pending={k2}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.col2. m2 is 13 by hidden-single.

pending={m2}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.box10. k8 is 2 by hidden-single.

pending={k8}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowk. k6 is 9 by hidden-single.

pending={k6}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1.rowe. e5 is 9 by hidden-single.

pending={e5}

deduce.grid1: naked-singles

deduce.grid1: hidden-singles

deduce.grid1: naked-pairs

two's heap=c12 {1|2}, d7 {3|6}, o1 {4|8}, a5 {5|10}, c3 {1|11}, a9 {7|9}, c5 {5|10}, b15 {15|16}, d5 {3|16}, e2 {2|16}, g2 {2|16}, b1 {1|15}, o6 {1|15}.

Naked-pair {5|10} in cells {a5, c5} contained within {col5, box2}, updating cells {d5, d7, d8, f5, j5, n5, o5}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, f4, g3, g4}:

grid1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6
 2  
  7 
    
  15 
    
5   
 10  
    
12 1 11
    
  7 
9   
    
8
 2  
  7 
9   
    
16 13
 2  
  7 
    
  15 
    
5   
910  
  15 
14
b
1   
    
    
  15 
12 8 5 2 13 9 14 11 4 6 10
1 3 
  7 
    
   16
1   
  7 
    
  15 
    
    
    
  1516
1 3 
  7 
    
   16
c 13 9
1   
    
  11 
    
16
    
5   
 10  
    
4 15 7 12 14 3
12  
    
    
    
6
12  
   8
    
    
    
5  8
 1011 
    
12  
    
 10  
    
d
12  
    
  11 
    
10
1   
  7 
  11 
 14  
12  
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
  7 
9   
    
13
1234
  7 
9   
   16
12 4
  7 
    
    
   4
    
9 11 
   16
12
e 14
 2  
    
    
   16
13 11 9
1 3 
 6  
    
    
  34
 6 8
    
    
5 10
  3 
 6  
    
   16
12
 23 
 6 8
    
    
15
1  4
 6  
    
    
7
1  4
 6  
    
   16
f
1  4
    
    
  15 
5 12
1 34
    
    
  15 
1 34
    
    
    
14
  34
 6  
    
    
13
    
 67 
9   
   16
11
    
  7 
9   
   16
  3 
 67 
    
    
10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
1 34
    
    
    
15 11
  34
 6 8
    
    
10 5
  3 
 6  
    
   16
 2  
   8
    
   16
14
1  4
    
   12
   16
9
   4
 6  
   12
13  16
1  4
 6  
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
  1516
12 4
1   
 67 
    
1314 16
    
 67 
    
13  16
1   
  7 
 10  
 14 16
1   
 67 
    
    
 2  
  7 
    
 14 16
 2  
 67 
    
131415 
    
 6  
 10  
13 1516
9
j
1  4
    
    
   16
14 15
1  4
    
 10  
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
   4
 678
    
13   
   4
 6 8
 10  
13  16
  34
 67 
 10  
13  16
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
  78
    
   16
1  4
  78
    
    
   4
  78
    
   16
5
   4
   8
    
13  16
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314 16
    
 6  
    
13  16
   4
5   
 10  
 14 16
   4
56  
    
    
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14 16
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
 2 4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 678
    
1314 16
9
1  4
  78
    
 14 16
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 678
    
1314  
2
1  4
5 78
    
 14  
12
1  4
5 78
9   
 14  
16
   4
56 8
9   
13   
1  4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
 2 4
  7 
    
 14  
6 10
 234
   8
    
1314  
  3 
   8
9   
   16
    
  78
    
1314 16
  3 
  7 
    
13  16
   4
5 78
    
 14 16
  34
5 78
    
    
 2 4
5 78
9  12
 14  
 2 4
  78
    
1314  
   4
5  8
9  12
13   
15

backtrack.grid1 → grid2: a5 guess 5 ∈ {5|10}

pending={a5}

deduce.grid2: naked-singles

deduce.grid2: hidden-singles

deduce.grid2.rowa. a15 is 10 by hidden-single.

pending={a15}

deduce.grid2: naked-singles

deduce.grid2: hidden-singles

deduce.grid2.rowc. c15 is 5 by hidden-single.

pending={c15}

deduce.grid2: naked-singles

deduce.grid2: hidden-singles

deduce.grid2.rowc. c3 is 11 by hidden-single.

deduce.grid2.rowc. c14 is 8 by hidden-single.

pending={c3, c14}

deduce.grid2: naked-singles

deduce.grid2: hidden-singles

deduce.grid2.rowd. d15 is 11 by hidden-single.

pending={d15}

deduce.grid2: naked-singles

deduce.grid2: hidden-singles

deduce.grid2.rowp. p1 is 11 by hidden-single.

pending={p1}

deduce.grid2: naked-singles

deduce.grid2: hidden-singles

deduce.grid2.col16. j16 is 10 by hidden-single.

pending={j16}

deduce.grid2: naked-singles

deduce.grid2: hidden-singles

deduce.grid2.col16. b16 is 3 by hidden-single.

pending={b16}

deduce.grid2: naked-singles

deduce.grid2: hidden-singles

deduce.grid2.box4. d13 is 9 by hidden-single.

pending={d13}

deduce.grid2: naked-singles

deduce.grid2: hidden-singles

deduce.grid2.rowd. d14 is 4 by hidden-single.

pending={d14}

deduce.grid2: naked-singles

deduce.grid2: hidden-singles

deduce.grid2: naked-pairs

two's heap=c12 {1|2}, c16 {1|2}, d1 {1|2}, d7 {3|6}, e14 {1|6}, g3 {1|4}, o1 {4|8}, b1 {1|15}, e2 {2|16}, a9 {7|9}, f14 {1|6}, b15 {15|16}, g2 {2|16}, d5 {3|16}, o6 {1|15}.

Naked-pair {1|6} in cells {e14, f14} contained within {col14, box8}, updating cells {a14, b14, e16, g13, g15, g16, i14, j14, p14}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, f4, g3, g4}:

grid2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6
 2  
  7 
    
  15 
5 12 1 11
    
  7 
9   
    
8
 2  
  7 
9   
    
16 13
 2  
  7 
    
  15 
10 14
b
1   
    
    
  15 
12 8 5 2 13 9 14 11 4 6 10
1   
  7 
    
   16
    
  7 
    
  15 
    
    
    
  1516
3
c 13 9 11 16 10 4 15 7 12 14 3
12  
    
    
    
6 8 5
12  
    
    
    
d
12  
    
    
    
10
1   
  7 
    
 14  
12  
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
  7 
    
    
13 9 4 11 12
e 14
 2  
    
    
   16
13 11 9
1 3 
 6  
    
    
  34
 6 8
    
    
5 10
  3 
 6  
    
   16
12
 23 
 6 8
    
    
15
1   
 6  
    
    
7
   4
    
    
   16
f
1  4
    
    
  15 
5 12
1 34
    
    
  15 
1 34
    
    
    
14
  34
 6  
    
    
13
    
 67 
9   
   16
11
    
  7 
9   
   16
  3 
 67 
    
    
10
1   
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
1 34
    
    
    
15 11
  34
 6 8
    
    
10 5
  3 
 6  
    
   16
 2  
   8
    
   16
14
   4
    
   12
   16
9
   4
    
   12
13  16
   4
    
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
  1516
12 4
1   
 67 
    
1314 16
    
 67 
    
13  16
1   
  7 
 10  
 14 16
1   
 67 
    
    
 2  
  7 
    
 14 16
 2  
  7 
    
131415 
    
 6  
    
13 1516
9
j
1  4
    
    
   16
14 15
1  4
    
    
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
    
  7 
    
13   
   4
 6 8
    
13  16
10
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
  78
    
   16
1  4
  78
    
    
   4
  78
    
   16
5
   4
   8
    
13  16
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314 16
    
 6  
    
13  16
   4
5   
 10  
 14 16
   4
56  
    
    
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14 16
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
 2 4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 678
    
1314 16
9
1  4
  78
    
 14 16
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 678
    
1314  
2
1  4
5 78
    
 14  
12
1  4
5 78
    
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p 11 1
   4
  7 
    
 14 16
 2 4
  7 
    
 14  
6 10
 234
   8
    
1314  
  3 
   8
9   
   16
    
  78
    
1314 16
  3 
  7 
    
13  16
   4
5 78
    
 14 16
  34
5 78
    
    
 2 4
5 78
   12
 14  
 2  
  7 
    
1314  
   4
   8
9  12
13   
15

backtrack.grid2 → grid3: a9 guess 7 ∈ {7|9}

pending={a9}

deduce.grid3: naked-singles

deduce.grid3: hidden-singles

deduce.grid3.rowa. a11 is 9 by hidden-single.

pending={a11}

deduce.grid3: naked-singles

deduce.grid3: hidden-singles

deduce.grid3.rowf. f9 is 9 by hidden-single.

pending={f9}

deduce.grid3: naked-singles

deduce.grid3: hidden-singles

deduce.grid3.rowf. f11 is 16 by hidden-single.

pending={f11}

deduce.grid3: naked-singles

deduce.grid3: hidden-singles

deduce.grid3.rowf. f12 is 7 by hidden-single.

pending={f12}

deduce.grid3: naked-singles

deduce.grid3: hidden-singles

deduce.grid3: naked-pairs

two's heap=c12 {1|2}, d1 {1|2}, c16 {1|2}, g3 {1|4}, d11 {1|2}, e10 {3|6}, e14 {1|6}, a14 {2|15}, f14 {1|6}, i12 {1|6}, d7 {3|6}, o6 {1|15}, a4 {2|15}, b1 {1|15}, e16 {4|16}, b14 {7|15}, g2 {2|16}, d5 {3|16}, g10 {3|6}, b15 {15|16}, g11 {2|8}, j14 {7|13}, o1 {4|8}, e2 {2|16}.

Naked-pair {1|2} in cells {c12, c16, d1, d11} contained within {rowc, rowd, box3}, updating cells {d3, d4, d5, d7, d8}:

Naked-pair {1|6} in cells {e14, f14, i12} contained within {col14, box8}, updating cells {a14, b14, e16, g13, g15, g16, i14, j14, p14}:

Naked-pair {3|6} in cells {d7, e10, g10} contained within {col10, box7}, updating cells {e12, g11, i10, l10, p10}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, f4, g3, g4}:

grid3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6
 2  
    
    
  15 
5 12 1 11 7 8 9 16 13
 2  
    
    
  15 
10 14
b
1   
    
    
  15 
12 8 5 2 13 9 14 11 4 6 10
1   
  7 
    
   16
    
  7 
    
  15 
    
    
    
  1516
3
c 13 9 11 16 10 4 15 7 12 14 3
12  
    
    
    
6 8 5
12  
    
    
    
d
12  
    
    
    
10
    
  7 
    
 14  
    
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
    
    
    
13 9 4 11 12
e 14
 2  
    
    
   16
13 11 9
1 3 
 6  
    
    
  34
 6 8
    
    
5 10
  3 
 6  
    
    
12
 2  
   8
    
    
15
1   
 6  
    
    
7
   4
    
    
   16
f
1  4
    
    
  15 
5 12
1 34
    
    
  15 
1 34
    
    
    
14
  34
 6  
    
    
13 9 11 16 7 10
1   
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
1 34
    
    
    
15 11
  34
 6 8
    
    
10 5
  3 
 6  
    
    
 2  
   8
    
    
14
   4
    
   12
   16
9
   4
    
   12
13  16
   4
    
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
  1516
12 4
1   
 6  
    
1314 16
    
  7 
    
13  16
1   
  7 
 10  
 14  
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
  7 
    
131415 
    
 6  
    
13 1516
9
j
1  4
    
    
   16
14 15
1  4
    
    
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
    
  7 
    
13   
   4
 6 8
    
13  16
10
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
  78
    
    
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13  16
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314 16
    
    
    
13  16
   4
5   
 10  
 14  
   4
56  
    
    
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14 16
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
 2 4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 6 8
    
1314 16
9
1  4
  78
    
 14  
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 6 8
    
1314  
2
1  4
5 78
    
 14  
12
1  4
5 78
    
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p 11 1
   4
  7 
    
 14 16
 2 4
  7 
    
 14  
6 10
 234
   8
    
1314  
  3 
   8
9   
   16
    
   8
    
1314 16
    
  7 
    
13  16
   4
5 78
    
 14  
  34
5  8
    
    
 2 4
5 78
   12
 14  
 2  
  7 
    
1314  
   4
   8
9  12
13   
15

backtrack.grid3 → grid4: a4 guess 2 ∈ {2|15}

pending={a4}

deduce.grid4: naked-singles

grid4 didn't work: naked-singles ran out of candidates.

…backtrack.grid3 again

backtrack.grid3 → grid5: a4 guess 15 ∈ {2|15}

pending={a4}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.rowe. e16 is 16 by hidden-single.

pending={e16}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.rowe. e7 is 4 by hidden-single.

pending={e7}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.rowf. f1 is 15 by hidden-single.

pending={f1}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.rowf. f4 is 4 by hidden-single.

pending={f4}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.rowi. i13 is 2 by hidden-single.

pending={i13}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.rowk. k12 is 1 by hidden-single.

pending={k12}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.rowm. m16 is 2 by hidden-single.

pending={m16}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.rowm. m9 is 6 by hidden-single.

pending={m9}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.box11. k11 is 8 by hidden-single.

pending={k11}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.col11. l11 is 4 by hidden-single.

pending={l11}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.rowl. l4 is 10 by hidden-single.

pending={l4}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.rowi. i11 is 10 by hidden-single.

pending={i11}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.box11. i10 is 7 by hidden-single.

pending={i10}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.col6. j6 is 7 by hidden-single.

pending={j6}

deduce.grid5: naked-singles

deduce.grid5: hidden-singles

deduce.grid5.rowi. i6 is 1 by hidden-single.

pending={i6}

deduce.grid5: naked-singles

grid5 didn't work: naked-singles ran out of candidates.

…backtrack.grid3 again

grid3 didn't work: exhaustive search revealed no solution.

…backtrack.grid2 again

backtrack.grid2 → grid6: a9 guess 9 ∈ {7|9}

pending={a9}

deduce.grid6: naked-singles

deduce.grid6: hidden-singles

deduce.grid6.rowf. f11 is 9 by hidden-single.

pending={f11}

deduce.grid6: naked-singles

deduce.grid6: hidden-singles

deduce.grid6.rowf. f9 is 16 by hidden-single.

pending={f9}

deduce.grid6: naked-singles

deduce.grid6: hidden-singles

deduce.grid6.rowf. f12 is 7 by hidden-single.

pending={f12}

deduce.grid6: naked-singles

deduce.grid6: hidden-singles

deduce.grid6: naked-pairs

two's heap=c12 {1|2}, g3 {1|4}, c16 {1|2}, i12 {1|6}, e10 {3|6}, e14 {1|6}, d1 {1|2}, g10 {3|6}, d7 {3|6}, o1 {4|8}, b1 {1|15}, b14 {7|15}, e16 {4|16}, f14 {1|6}, g2 {2|16}, b15 {15|16}, a11 {2|7}, d5 {3|16}, g11 {2|8}, e2 {2|16}, j14 {7|13}, o6 {1|15}.

Naked-pair {1|6} in cells {e14, f14, i12} contained within {col14, box8}, updating cells {a14, b14, e16, g13, g15, g16, i14, j14, p14}:

Naked-pair {3|6} in cells {d7, e10, g10} contained within {col10, box7}, updating cells {e12, g11, i10, l10, p10}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, f4, g3, g4}:

grid6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6
 2  
  7 
    
  15 
5 12 1 11 9 8
 2  
  7 
    
    
16 13
 2  
  7 
    
  15 
10 14
b
1   
    
    
  15 
12 8 5 2 13 9 14 11 4 6 10
1   
  7 
    
   16
    
  7 
    
  15 
    
    
    
  1516
3
c 13 9 11 16 10 4 15 7 12 14 3
12  
    
    
    
6 8 5
12  
    
    
    
d
12  
    
    
    
10
1   
  7 
    
 14  
12  
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
  7 
    
    
13 9 4 11 12
e 14
 2  
    
    
   16
13 11 9
1 3 
 6  
    
    
  34
 6 8
    
    
5 10
  3 
 6  
    
    
12
 2  
   8
    
    
15
1   
 6  
    
    
7
   4
    
    
   16
f
1  4
    
    
  15 
5 12
1 34
    
    
  15 
1 34
    
    
    
14
  34
 6  
    
    
13 16 11 9 7 10
1   
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
1 34
    
    
    
15 11
  34
 6 8
    
    
10 5
  3 
 6  
    
    
 2  
   8
    
    
14
   4
    
   12
   16
9
   4
    
   12
13  16
   4
    
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
  1516
12 4
1   
 67 
    
1314  
    
  7 
    
13  16
1   
  7 
 10  
 14 16
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
  7 
    
131415 
    
 6  
    
13 1516
9
j
1  4
    
    
   16
14 15
1  4
    
    
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
    
  7 
    
13   
   4
 6 8
    
13  16
10
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
  78
    
   16
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13  16
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314  
    
    
    
13  16
   4
5   
 10  
 14 16
   4
56  
    
    
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14  
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
 2 4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 678
    
1314  
9
1  4
  78
    
 14 16
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 678
    
1314  
2
1  4
5 78
    
 14  
12
1  4
5 78
    
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p 11 1
   4
  7 
    
 14 16
 2 4
  7 
    
 14  
6 10
 234
   8
    
1314  
  3 
   8
9   
   16
    
  78
    
1314  
    
  7 
    
13  16
   4
5 78
    
 14 16
  34
5  8
    
    
 2 4
5 78
   12
 14  
 2  
  7 
    
1314  
   4
   8
9  12
13   
15

backtrack.grid6 → grid7: a11 guess 2 ∈ {2|7}

pending={a11}

deduce.grid7: naked-singles

deduce.grid7: hidden-singles

deduce.grid7.rowe. e7 is 8 by hidden-single.

pending={e7}

deduce.grid7: naked-singles

deduce.grid7: hidden-singles

deduce.grid7.col3. p3 is 7 by hidden-single.

pending={p3}

deduce.grid7: naked-singles

deduce.grid7: hidden-singles

deduce.grid7.col4. a4 is 7 by hidden-single.

pending={a4}

deduce.grid7: naked-singles

deduce.grid7: hidden-singles

deduce.grid7.rowf. f4 is 15 by hidden-single.

pending={f4}

deduce.grid7: naked-singles

deduce.grid7: hidden-singles

grid7 didn't work: rowk is not bijective.

…backtrack.grid6 again

backtrack.grid6 → grid8: a11 guess 7 ∈ {2|7}

pending={a11}

deduce.grid8: naked-singles

deduce.grid8: hidden-singles

deduce.grid8.col12. p12 is 3 by hidden-single.

pending={p12}

deduce.grid8: naked-singles

deduce.grid8: hidden-singles

deduce.grid8.col12. l12 is 5 by hidden-single.

pending={l12}

deduce.grid8: naked-singles

deduce.grid8: hidden-singles

deduce.grid8: naked-pairs

two's heap=c12 {1|2}, d1 {1|2}, c16 {1|2}, g3 {1|4}, d11 {1|2}, e10 {3|6}, e14 {1|6}, a14 {2|15}, f14 {1|6}, g10 {3|6}, i12 {1|6}, o1 {4|8}, o6 {1|15}, b1 {1|15}, e12 {2|8}, e16 {4|16}, b14 {7|15}, d5 {3|16}, g2 {2|16}, b15 {15|16}, g11 {2|8}, d7 {3|6}, j14 {7|13}, l10 {13|16}, e2 {2|16}, a4 {2|15}.

Naked-pair {1|2} in cells {c12, c16, d1, d11} contained within {rowc, rowd, box3}, updating cells {d3, d4, d5, d7, d8}:

Naked-pair {1|6} in cells {e14, f14, i12} contained within {col14, box8}, updating cells {a14, b14, e16, g13, g15, g16, i14, j14, p14}:

Naked-pair {3|6} in cells {d7, e10, g10} contained within {col10, box7}, updating cells {e12, g11, i10, l10, p10}:

Naked-pair {2|8} in cells {e12, g11} contained within {box7}, updating cells {e10, g10}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, f4, g3, g4}:

grid8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6
 2  
    
    
  15 
5 12 1 11 9 8 7 16 13
 2  
    
    
  15 
10 14
b
1   
    
    
  15 
12 8 5 2 13 9 14 11 4 6 10
1   
  7 
    
   16
    
  7 
    
  15 
    
    
    
  1516
3
c 13 9 11 16 10 4 15 7 12 14 3
12  
    
    
    
6 8 5
12  
    
    
    
d
12  
    
    
    
10
    
  7 
    
 14  
    
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
    
    
    
13 9 4 11 12
e 14
 2  
    
    
   16
13 11 9
1 3 
 6  
    
    
  34
 6 8
    
    
5 10
  3 
 6  
    
    
12
 2  
   8
    
    
15
1   
 6  
    
    
7
   4
    
    
   16
f
1  4
    
    
  15 
5 12
1 34
    
    
  15 
1 34
    
    
    
14
  34
 6  
    
    
13 16 11 9 7 10
1   
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
1 34
    
    
    
15 11
  34
 6 8
    
    
10 5
  3 
 6  
    
    
 2  
   8
    
    
14
   4
    
   12
   16
9
   4
    
   12
13  16
   4
    
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
  1516
12 4
1   
 67 
    
1314  
    
  7 
    
13  16
1   
    
 10  
 14 16
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
  7 
    
131415 
    
 6  
    
13 1516
9
j
1  4
    
    
   16
14 15
1  4
    
    
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
    
  7 
    
13   
   4
 6 8
    
13  16
10
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
   8
    
   16
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13  16
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314  
    
    
    
13  16
   4
    
 10  
 14 16
5
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14  
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
 2 4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 678
    
1314  
9
1  4
   8
    
 14 16
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 678
    
1314  
2
1  4
5  8
    
 14  
12
1  4
5 78
    
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p 11 1
   4
  7 
    
 14 16
 2 4
  7 
    
 14  
6 10
 2 4
   8
    
1314  
    
   8
9   
   16
    
  78
    
1314  
    
  7 
    
13  16
   4
5  8
    
 14 16
3
 2 4
5 78
   12
 14  
 2  
  7 
    
1314  
   4
   8
9  12
13   
15

backtrack.grid8 → grid9: a4 guess 2 ∈ {2|15}

pending={a4}

deduce.grid9: naked-singles

grid9 didn't work: naked-singles ran out of candidates.

…backtrack.grid8 again

backtrack.grid8 → grid10: a4 guess 15 ∈ {2|15}

pending={a4}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowe. e16 is 16 by hidden-single.

pending={e16}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowe. e7 is 4 by hidden-single.

pending={e7}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowf. f1 is 15 by hidden-single.

pending={f1}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowf. f4 is 4 by hidden-single.

pending={f4}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowi. i13 is 2 by hidden-single.

pending={i13}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowk. k12 is 1 by hidden-single.

pending={k12}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowm. m16 is 2 by hidden-single.

pending={m16}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowm. m9 is 6 by hidden-single.

pending={m9}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.box11. k11 is 8 by hidden-single.

pending={k11}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.col11. l11 is 4 by hidden-single.

pending={l11}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowl. l4 is 10 by hidden-single.

pending={l4}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowi. i11 is 10 by hidden-single.

pending={i11}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.box12. j15 is 6 by hidden-single.

pending={j15}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowj. j13 is 8 by hidden-single.

pending={j13}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowj. j1 is 4 by hidden-single.

pending={j1}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.col13. l13 is 3 by hidden-single.

pending={l13}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowl. l9 is 14 by hidden-single.

pending={l9}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.rowi. i14 is 14 by hidden-single.

pending={i14}

deduce.grid10: naked-singles

deduce.grid10: hidden-singles

deduce.grid10.col13. b13 is 16 by hidden-single.

pending={b13}

deduce.grid10: naked-singles

grid10 didn't work: naked-singles ran out of candidates.

…backtrack.grid8 again

grid8 didn't work: exhaustive search revealed no solution.

…backtrack.grid6 again

grid6 didn't work: exhaustive search revealed no solution.

…backtrack.grid2 again

grid2 didn't work: exhaustive search revealed no solution.

…backtrack.grid1 again

backtrack.grid1 → grid11: a5 guess 10 ∈ {5|10}

pending={a5}

deduce.grid11: naked-singles

deduce.grid11: hidden-singles

deduce.grid11.rowa. a15 is 5 by hidden-single.

pending={a15}

deduce.grid11: naked-singles

deduce.grid11: hidden-singles

deduce.grid11: naked-pairs

two's heap=c12 {1|2}, g3 {1|4}, d7 {3|6}, b1 {1|15}, o1 {4|8}, o6 {1|15}, d5 {3|16}, e2 {2|16}, g2 {2|16}, c3 {1|11}, a9 {7|9}, b15 {15|16}.

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, f4, g3, g4}:

grid11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6
 2  
  7 
    
  15 
10 12 1 11
    
  7 
9   
    
8
 2  
  7 
9   
    
16 13
 2  
  7 
    
  15 
5 14
b
1   
    
    
  15 
12 8 5 2 13 9 14 11 4 6 10
1 3 
  7 
    
   16
1   
  7 
    
  15 
    
    
    
  1516
1 3 
  7 
    
   16
c 13 9
1   
    
  11 
    
16 5 4 15 7 12 14 3
12  
    
    
    
6
12  
   8
    
    
    
   8
 1011 
    
12  
    
 10  
    
d
12  
    
  11 
    
10
1   
  7 
  11 
 14  
12  
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
  7 
9   
    
13
1234
  7 
9   
   16
12 4
  7 
    
    
   4
    
9 11 
   16
12
e 14
 2  
    
    
   16
13 11 9
1 3 
 6  
    
    
  34
 6 8
    
    
5 10
  3 
 6  
    
   16
12
 23 
 6 8
    
    
15
1  4
 6  
    
    
7
1  4
 6  
    
   16
f
1  4
    
    
  15 
5 12
1 34
    
    
  15 
1 34
    
    
    
14
  34
 6  
    
    
13
    
 67 
9   
   16
11
    
  7 
9   
   16
  3 
 67 
    
    
10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
1 34
    
    
    
15 11
  34
 6 8
    
    
10 5
  3 
 6  
    
   16
 2  
   8
    
   16
14
1  4
    
   12
   16
9
   4
 6  
   12
13  16
1  4
 6  
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
  1516
12 4
1   
 67 
    
1314 16
    
 67 
    
13  16
1   
  7 
 10  
 14 16
1   
 67 
    
    
 2  
  7 
    
 14 16
 2  
 67 
    
131415 
    
 6  
 10  
13 1516
9
j
1  4
    
    
   16
14 15
1  4
    
 10  
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
   4
 678
    
13   
   4
 6 8
 10  
13  16
  34
 67 
 10  
13  16
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
  78
    
   16
1  4
  78
    
    
   4
  78
    
   16
5
   4
   8
    
13  16
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314 16
    
 6  
    
13  16
   4
5   
 10  
 14 16
   4
56  
    
    
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14 16
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
 2 4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 678
    
1314 16
9
1  4
  78
    
 14 16
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 678
    
1314  
2
1  4
5 78
    
 14  
12
1  4
5 78
9   
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
 2 4
  7 
    
 14  
6 10
 234
   8
    
1314  
  3 
   8
9   
   16
    
  78
    
1314 16
  3 
  7 
    
13  16
   4
5 78
    
 14 16
  34
5 78
    
    
 2 4
5 78
9  12
 14  
 2 4
  78
    
1314  
   4
   8
9  12
13   
15

backtrack.grid11 → grid12: a9 guess 7 ∈ {7|9}

pending={a9}

deduce.grid12: naked-singles

deduce.grid12: hidden-singles

deduce.grid12.rowa. a11 is 9 by hidden-single.

pending={a11}

deduce.grid12: naked-singles

deduce.grid12: hidden-singles

deduce.grid12.rowf. f9 is 9 by hidden-single.

pending={f9}

deduce.grid12: naked-singles

deduce.grid12: hidden-singles

deduce.grid12.rowf. f11 is 16 by hidden-single.

pending={f11}

deduce.grid12: naked-singles

deduce.grid12: hidden-singles

deduce.grid12.rowf. f12 is 7 by hidden-single.

pending={f12}

deduce.grid12: naked-singles

deduce.grid12: hidden-singles

deduce.grid12: naked-pairs

two's heap=c12 {1|2}, d11 {1|2}, g3 {1|4}, i12 {1|6}, e10 {3|6}, c3 {1|11}, g10 {3|6}, d7 {3|6}, b1 {1|15}, e2 {2|16}, a14 {2|15}, g2 {2|16}, a4 {2|15}, d5 {3|16}, g11 {2|8}, b15 {15|16}, o1 {4|8}, o6 {1|15}.

Naked-pair {3|6} in cells {d7, e10, g10} contained within {col10, box7}, updating cells {e12, g11, i10, l10, p10}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, f4, g3, g4}:

grid12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6
 2  
    
    
  15 
10 12 1 11 7 8 9 16 13
 2  
    
    
  15 
5 14
b
1   
    
    
  15 
12 8 5 2 13 9 14 11 4 6 10
1 3 
  7 
    
   16
1   
  7 
    
  15 
    
    
    
  1516
1 3 
  7 
    
   16
c 13 9
1   
    
  11 
    
16 5 4 15 7 12 14 3
12  
    
    
    
6
12  
   8
    
    
    
   8
 1011 
    
12  
    
 10  
    
d
12  
    
  11 
    
10
1   
  7 
  11 
 14  
12  
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
    
    
    
13
1234
  7 
9   
   16
12 4
  7 
    
    
   4
    
9 11 
   16
12
e 14
 2  
    
    
   16
13 11 9
1 3 
 6  
    
    
  34
 6 8
    
    
5 10
  3 
 6  
    
    
12
 2  
   8
    
    
15
1  4
 6  
    
    
7
1  4
 6  
    
   16
f
1  4
    
    
  15 
5 12
1 34
    
    
  15 
1 34
    
    
    
14
  34
 6  
    
    
13 9 11 16 7 10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
1 34
    
    
    
15 11
  34
 6 8
    
    
10 5
  3 
 6  
    
    
 2  
   8
    
    
14
1  4
    
   12
   16
9
   4
 6  
   12
13  16
1  4
 6  
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
  1516
12 4
1   
 6  
    
1314 16
    
  7 
    
13  16
1   
  7 
 10  
 14  
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
 67 
    
131415 
    
 6  
 10  
13 1516
9
j
1  4
    
    
   16
14 15
1  4
    
 10  
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
   4
 678
    
13   
   4
 6 8
 10  
13  16
  34
 67 
 10  
13  16
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
  78
    
    
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13  16
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314 16
    
    
    
13  16
   4
5   
 10  
 14  
   4
56  
    
    
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14 16
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
 2 4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 6 8
    
1314 16
9
1  4
  78
    
 14  
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 6 8
    
1314  
2
1  4
5 78
    
 14  
12
1  4
5 78
9   
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
 2 4
  7 
    
 14  
6 10
 234
   8
    
1314  
  3 
   8
9   
   16
    
   8
    
1314 16
    
  7 
    
13  16
   4
5 78
    
 14  
  34
5  8
    
    
 2 4
5 78
9  12
 14  
 2 4
  78
    
1314  
   4
   8
9  12
13   
15

backtrack.grid12 → grid13: a4 guess 2 ∈ {2|15}

pending={a4}

deduce.grid13: naked-singles

deduce.grid13: hidden-singles

deduce.grid13.rowb. b1 is 15 by hidden-single.

pending={b1}

deduce.grid13: naked-singles

deduce.grid13: hidden-singles

deduce.grid13.rowf. f4 is 15 by hidden-single.

pending={f4}

deduce.grid13: naked-singles

deduce.grid13: hidden-singles

deduce.grid13.col4. g4 is 3 by hidden-single.

pending={g4}

deduce.grid13: naked-singles

deduce.grid13: hidden-singles

deduce.grid13.col12. p12 is 3 by hidden-single.

pending={p12}

deduce.grid13: naked-singles

deduce.grid13: hidden-singles

deduce.grid13.col12. l12 is 5 by hidden-single.

pending={l12}

deduce.grid13: naked-singles

deduce.grid13: hidden-singles

deduce.grid13.col15. i15 is 15 by hidden-single.

pending={i15}

deduce.grid13: naked-singles

deduce.grid13: hidden-singles

deduce.grid13: naked-pairs

two's heap=c12 {1|2}, f1 {1|4}, d11 {1|2}, i12 {1|6}, e6 {1|6}, g3 {1|4}, d7 {3|6}, c3 {1|11}, o1 {4|8}, d5 {3|16}, e12 {2|8}, g2 {2|16}, b14 {1|7}, g7 {4|8}, g11 {2|8}, e2 {2|16}, l10 {13|16}, d1 {1|11}, o6 {1|15}.

Naked-pair {1|4} in cells {f1, g3} contained within {box5}, updating cells {e2, g2}:

Naked-pair {1|11} in cells {c3, d1} contained within {box1}, updating cells {d3, d4}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, g3}:

grid13
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6 2 10 12 1 11 7 8 9 16 13 15 5 14
b 15 12 8 5 2 13 9 14 11 4 6 10
1 3 
  7 
    
    
1   
  7 
    
    
16
1 3 
  7 
    
    
c 13 9
1   
    
  11 
    
16 5 4 15 7 12 14 3
12  
    
    
    
6
12  
   8
    
    
    
   8
 1011 
    
12  
    
 10  
    
d
1   
    
  11 
    
10
    
  7 
    
 14  
    
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
    
    
    
13
1234
  7 
9   
    
12 4
  7 
    
    
   4
    
9 11 
    
12
e 14
 2  
    
    
   16
13 11 9
1   
 6  
    
    
   4
 6 8
    
    
5 10 3 12
 2  
   8
    
    
15
1  4
 6  
    
    
7
1  4
 6  
    
   16
f
1  4
    
    
    
5 12 15
1 34
    
    
    
14
  34
 6  
    
    
13 9 11 16 7 10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
3 15 11
   4
   8
    
    
10 5 6
 2  
   8
    
    
14
1  4
    
   12
   16
9
   4
    
   12
13   
1  4
    
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
   16
12 4
1   
 6  
    
1314 16
    
  7 
    
13  16
1   
  7 
 10  
 14  
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
 67 
    
1314  
15 9
j
1  4
    
    
   16
14 15
1  4
    
 10  
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
   4
 678
    
13   
   4
 6 8
 10  
13   
  34
 67 
 10  
13  16
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
  78
    
    
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13   
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314 16
    
    
    
13  16
   4
    
 10  
 14  
5
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14 16
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
   4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 6 8
    
1314 16
9
1  4
  78
    
 14  
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 6 8
    
1314  
2
1  4
5 78
    
 14  
12
1  4
5 78
9   
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
   4
  7 
    
 14  
6 10
 2 4
   8
    
1314  
    
   8
9   
   16
    
   8
    
1314 16
    
  7 
    
13  16
   4
5 78
    
 14  
3
 2 4
5 78
9  12
 14  
 2 4
  78
    
1314  
   4
   8
9  12
13   
15

backtrack.grid13 → grid14: b14 guess 1 ∈ {1|7}

pending={b14}

deduce.grid14: naked-singles

deduce.grid14: hidden-singles

deduce.grid14: naked-pairs

two's heap=c12 {1|2}, f1 {1|4}, d11 {1|2}, d7 {3|6}, g3 {1|4}, o1 {4|8}, e6 {1|6}, e14 {4|6}, f14 {4|6}, b13 {3|7}, i12 {1|6}, c16 {2|10}, o6 {1|15}, d1 {1|11}, e12 {2|8}, d3 {7|14}, b16 {3|7}, d4 {7|14}, g2 {2|16}, d5 {3|16}, g7 {4|8}, g11 {2|8}, c14 {2|8}, l10 {13|16}, c3 {1|11}, e2 {2|16}.

Naked-pair {1|4} in cells {f1, g3} contained within {box5}, updating cells {e2, g2}:

Naked-pair {4|6} in cells {e14, f14} contained within {col14, box8}, updating cells {c14, d14, e16, g13, g15, g16, i14, j14, p14}:

Naked-pair {3|7} in cells {b13, b16} contained within {rowb, box4}, updating cells {c14, c15, c16, d13, d14, d15}:

Naked-pair {1|11} in cells {c3, d1} contained within {box1}, updating cells {d3, d4}:

Naked-pair {7|14} in cells {d3, d4} contained within {rowd, box1}, updating cells {c3, d1, d5, d7, d8, d11, d13, d14, d15}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, g3}:

pending={d14}

deduce.grid14: naked-singles

deduce.grid14: hidden-singles

deduce.grid14.rowe. e16 is 16 by hidden-single.

pending={e16}

deduce.grid14: naked-singles

deduce.grid14: hidden-singles

deduce.grid14.rowe. e6 is 1 by hidden-single.

pending={e6}

deduce.grid14: naked-singles

deduce.grid14: hidden-singles

deduce.grid14.rowi. i13 is 2 by hidden-single.

pending={i13}

deduce.grid14: naked-singles

deduce.grid14: hidden-singles

deduce.grid14.rowk. k12 is 1 by hidden-single.

pending={k12}

deduce.grid14: naked-singles

deduce.grid14: hidden-singles

deduce.grid14.rowi. i4 is 1 by hidden-single.

pending={i4}

deduce.grid14: naked-singles

deduce.grid14: hidden-singles

deduce.grid14.rowi. i11 is 10 by hidden-single.

pending={i11}

deduce.grid14: naked-singles

deduce.grid14: hidden-singles

deduce.grid14.rowl. l4 is 10 by hidden-single.

deduce.grid14.rowl. l8 is 15 by hidden-single.

pending={l4, l8}

deduce.grid14: naked-singles

deduce.grid14: hidden-singles

deduce.grid14.rowj. j15 is 10 by hidden-single.

pending={j15}

deduce.grid14: naked-singles

deduce.grid14: hidden-singles

deduce.grid14.rowj. j13 is 8 by hidden-single.

pending={j13}

deduce.grid14: naked-singles

grid14 didn't work: naked-singles ran out of candidates.

…backtrack.grid13 again

backtrack.grid13 → grid15: b14 guess 7 ∈ {1|7}

pending={b14}

deduce.grid15: naked-singles

deduce.grid15: hidden-singles

deduce.grid15: naked-pairs

two's heap=c12 {1|2}, d11 {1|2}, f1 {1|4}, b16 {1|3}, b13 {1|3}, e12 {2|8}, e6 {1|6}, g3 {1|4}, i12 {1|6}, o1 {4|8}, o6 {1|15}, d3 {7|14}, c3 {1|11}, d4 {7|14}, g2 {2|16}, d5 {3|16}, g7 {4|8}, g11 {2|8}, d7 {3|6}, l10 {13|16}, d1 {1|11}, e2 {2|16}.

Naked-pair {1|3} in cells {b13, b16} contained within {rowb, box4}, updating cells {c14, c15, c16, d13, d14, d15}:

Naked-pair {1|4} in cells {f1, g3} contained within {box5}, updating cells {e2, g2}:

Naked-pair {1|11} in cells {c3, d1} contained within {box1}, updating cells {d3, d4}:

Naked-pair {7|14} in cells {d3, d4} contained within {rowd, box1}, updating cells {c3, d1, d5, d7, d8, d11, d13, d14, d15}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, g3}:

grid15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6 2 10 12 1 11 7 8 9 16 13 15 5 14
b 15 12 8 5 2 13 9 14 11 4 6 10
1 3 
    
    
    
7 16
1 3 
    
    
    
c 13 9
1   
    
  11 
    
16 5 4 15 7 12 14 3
12  
    
    
    
6
 2  
   8
    
    
    
   8
 1011 
    
 2  
    
 10  
    
d
1   
    
  11 
    
10
    
  7 
    
 14  
    
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
    
    
    
13
 2 4
    
9   
    
 2 4
    
    
    
   4
    
9 11 
    
12
e 14
 2  
    
    
   16
13 11 9
1   
 6  
    
    
   4
 6 8
    
    
5 10 3 12
 2  
   8
    
    
15
1  4
 6  
    
    
7
1  4
 6  
    
   16
f
1  4
    
    
    
5 12 15
1 34
    
    
    
14
  34
 6  
    
    
13 9 11 16 7 10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
3 15 11
   4
   8
    
    
10 5 6
 2  
   8
    
    
14
1  4
    
   12
   16
9
   4
    
   12
13   
1  4
    
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
   16
12 4
1   
 6  
    
1314 16
    
  7 
    
13  16
1   
  7 
 10  
 14  
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
 6  
    
1314  
15 9
j
1  4
    
    
   16
14 15
1  4
    
 10  
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
   4
 6 8
    
13   
   4
 6 8
 10  
13   
  34
 67 
 10  
13  16
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
  78
    
    
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13   
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314 16
    
    
    
13  16
   4
    
 10  
 14  
5
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14 16
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
   4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 6 8
    
1314 16
9
1  4
  78
    
 14  
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 6 8
    
1314  
2
1  4
5 78
    
 14  
12
1  4
5 78
9   
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
   4
  7 
    
 14  
6 10
 2 4
   8
    
1314  
    
   8
9   
   16
    
   8
    
1314 16
    
  7 
    
13  16
   4
5 78
    
 14  
3
 2 4
5 78
9  12
 14  
 2 4
   8
    
1314  
   4
   8
9  12
13   
15

backtrack.grid15 → grid16: b13 guess 1 ∈ {1|3}

pending={b13}

deduce.grid16: naked-singles

deduce.grid16: hidden-singles

deduce.grid16: naked-pairs

two's heap=c12 {1|2}, d11 {1|2}, f1 {1|4}, g3 {1|4}, d14 {2|4}, c14 {2|8}, e6 {1|6}, c16 {2|10}, g11 {2|8}, i12 {1|6}, d7 {3|6}, e2 {2|16}, d3 {7|14}, d4 {7|14}, e12 {2|8}, d5 {3|16}, g2 {2|16}, c3 {1|11}, g7 {4|8}, d1 {1|11}, l10 {13|16}, o1 {4|8}, o6 {1|15}.

Naked-pair {1|4} in cells {f1, g3} contained within {box5}, updating cells {e2, g2}:

Naked-pair {1|11} in cells {c3, d1} contained within {box1}, updating cells {d3, d4}:

Naked-pair {7|14} in cells {d3, d4} contained within {rowd, box1}, updating cells {c3, d1, d5, d7, d8, d11, d13, d14, d15}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, g3}:

grid16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6 2 10 12 1 11 7 8 9 16 13 15 5 14
b 15 12 8 5 2 13 9 14 11 4 6 10 1 7 16 3
c 13 9
1   
    
  11 
    
16 5 4 15 7 12 14 3
12  
    
    
    
6
 2  
   8
    
    
    
   8
 1011 
    
 2  
    
 10  
    
d
1   
    
  11 
    
10
    
  7 
    
 14  
    
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
    
    
    
13
 2 4
    
9   
    
 2 4
    
    
    
   4
    
9 11 
    
12
e 14
 2  
    
    
   16
13 11 9
1   
 6  
    
    
   4
 6 8
    
    
5 10 3 12
 2  
   8
    
    
15
1  4
 6  
    
    
7
1  4
 6  
    
   16
f
1  4
    
    
    
5 12 15
1 34
    
    
    
14
  34
 6  
    
    
13 9 11 16 7 10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
3 15 11
   4
   8
    
    
10 5 6
 2  
   8
    
    
14
   4
    
   12
   16
9
   4
    
   12
13   
1  4
    
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
   16
12 4
1   
 6  
    
1314 16
    
  7 
    
13  16
1   
  7 
 10  
 14  
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
 6  
    
1314  
15 9
j
1  4
    
    
   16
14 15
1  4
    
 10  
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
   4
 6 8
    
13   
   4
 6 8
 10  
13   
   4
 67 
 10  
13  16
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
  78
    
    
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13   
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314 16
    
    
    
13  16
   4
    
 10  
 14  
5
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14 16
10 15
1  4
 6 8
    
    
 2 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
   4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 6 8
    
1314 16
9
1  4
  78
    
 14  
11
 2 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 6 8
    
1314  
2
1  4
5 78
    
 14  
12
   4
5 78
9   
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
   4
  7 
    
 14  
6 10
 2 4
   8
    
1314  
    
   8
9   
   16
    
   8
    
1314 16
    
  7 
    
13  16
   4
5 78
    
 14  
3
 2 4
5 78
9  12
 14  
 2 4
   8
    
1314  
   4
   8
9  12
13   
15

backtrack.grid16 → grid17: c3 guess 1 ∈ {1|11}

pending={c3}

deduce.grid17: naked-singles

deduce.grid17: hidden-singles

deduce.grid17.rowe. e6 is 1 by hidden-single.

deduce.grid17.rowe. e16 is 16 by hidden-single.

pending={e6, e16}

deduce.grid17: naked-singles

deduce.grid17: hidden-singles

deduce.grid17.rowk. k12 is 1 by hidden-single.

deduce.grid17.rowk. k16 is 13 by hidden-single.

pending={k12, k16}

deduce.grid17: naked-singles

grid17 didn't work: naked-singles ran out of candidates.

…backtrack.grid16 again

backtrack.grid16 → grid18: c3 guess 11 ∈ {1|11}

pending={c3}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.rowe. e7 is 8 by hidden-single.

deduce.grid18.rowe. e16 is 4 by hidden-single.

pending={e7, e16}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.rowj. j6 is 7 by hidden-single.

pending={j6}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.rowp. p13 is 12 by hidden-single.

pending={p13}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.rowp. p11 is 5 by hidden-single.

pending={p11}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.rowo. o13 is 5 by hidden-single.

pending={o13}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.col11. l11 is 4 by hidden-single.

pending={l11}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.rowl. l4 is 10 by hidden-single.

pending={l4}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.rowi. i11 is 10 by hidden-single.

pending={i11}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.rowi. i10 is 7 by hidden-single.

pending={i10}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.col14. p14 is 13 by hidden-single.

pending={p14}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.rowi. i4 is 13 by hidden-single.

pending={i4}

deduce.grid18: naked-singles

deduce.grid18: hidden-singles

deduce.grid18.rowi. i6 is 1 by hidden-single.

pending={i6}

deduce.grid18: naked-singles

grid18 didn't work: naked-singles ran out of candidates.

…backtrack.grid16 again

grid16 didn't work: exhaustive search revealed no solution.

…backtrack.grid15 again

backtrack.grid15 → grid19: b13 guess 3 ∈ {1|3}

pending={b13}

deduce.grid19: naked-singles

deduce.grid19: hidden-singles

deduce.grid19.col16. j16 is 3 by hidden-single.

pending={j16}

deduce.grid19: naked-singles

deduce.grid19: hidden-singles

deduce.grid19.col16. c16 is 10 by hidden-single.

pending={c16}

deduce.grid19: naked-singles

deduce.grid19: hidden-singles

deduce.grid19.col15. j15 is 10 by hidden-single.

pending={j15}

deduce.grid19: naked-singles

deduce.grid19: hidden-singles

deduce.grid19: naked-pairs

two's heap=c12 {1|2}, d11 {1|2}, f1 {1|4}, g3 {1|4}, d14 {2|4}, c14 {2|8}, e6 {1|6}, c3 {1|11}, g11 {2|8}, i12 {1|6}, d7 {3|6}, e2 {2|16}, d3 {7|14}, d4 {7|14}, e12 {2|8}, d5 {3|16}, g2 {2|16}, c15 {8|11}, g7 {4|8}, d1 {1|11}, l10 {13|16}, o1 {4|8}, o6 {1|15}.

Naked-pair {1|4} in cells {f1, g3} contained within {box5}, updating cells {e2, g2}:

Naked-pair {1|11} in cells {c3, d1} contained within {box1}, updating cells {d3, d4}:

Naked-pair {7|14} in cells {d3, d4} contained within {rowd, box1}, updating cells {c3, d1, d5, d7, d8, d11, d13, d14, d15}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, g3}:

grid19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6 2 10 12 1 11 7 8 9 16 13 15 5 14
b 15 12 8 5 2 13 9 14 11 4 6 10 3 7 16 1
c 13 9
1   
    
  11 
    
16 5 4 15 7 12 14 3
12  
    
    
    
6
 2  
   8
    
    
    
   8
  11 
    
10
d
1   
    
  11 
    
10
    
  7 
    
 14  
    
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
    
    
    
13
 2 4
    
9   
    
 2 4
    
    
    
   4
    
9 11 
    
12
e 14
 2  
    
    
   16
13 11 9
1   
 6  
    
    
   4
 6 8
    
    
5 10 3 12
 2  
   8
    
    
15
1  4
 6  
    
    
7
   4
 6  
    
   16
f
1  4
    
    
    
5 12 15
1 34
    
    
    
14
  34
 6  
    
    
13 9 11 16 7 10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
3 15 11
   4
   8
    
    
10 5 6
 2  
   8
    
    
14
1  4
    
   12
   16
9
   4
    
   12
13   
   4
    
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
   16
12 4
1   
 6  
    
1314 16
    
  7 
    
13  16
1   
  7 
 10  
 14  
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
 6  
    
1314  
15 9
j
1  4
    
    
   16
14 15
1  4
    
    
13   
1   
    
    
13  16
1   
 67 
    
   16
5
1   
 6  
    
   16
2 12 11 9
   4
  78
    
   16
   4
 6 8
    
13   
10 3
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
  78
    
    
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13   
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314 16
    
    
    
13  16
   4
    
 10  
 14  
5
   4
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14 16
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
 2 4
 6  
    
    
n 12 15 5
   4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 6 8
    
1314 16
9
1  4
  78
    
 14  
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
 2 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 6 8
    
1314  
2
1  4
5 78
    
 14  
12
1  4
5 78
9   
 14  
16
   4
 6 8
9   
13   
   4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
   4
  7 
    
 14  
6 10
 2 4
   8
    
1314  
    
   8
9   
   16
    
   8
    
1314 16
    
  7 
    
13  16
   4
5 78
    
 14  
3
 2 4
5 78
9  12
 14  
 2 4
   8
    
1314  
   4
   8
9  12
13   
15

backtrack.grid19 → grid20: c3 guess 1 ∈ {1|11}

pending={c3}

deduce.grid20: naked-singles

deduce.grid20: hidden-singles

deduce.grid20.rowe. e6 is 1 by hidden-single.

deduce.grid20.rowe. e16 is 16 by hidden-single.

pending={e6, e16}

deduce.grid20: naked-singles

deduce.grid20: hidden-singles

deduce.grid20.rowj. j13 is 8 by hidden-single.

pending={j13}

deduce.grid20: naked-singles

deduce.grid20: hidden-singles

deduce.grid20.rowj. j6 is 7 by hidden-single.

pending={j6}

deduce.grid20: naked-singles

deduce.grid20: hidden-singles

deduce.grid20.rowk. k11 is 8 by hidden-single.

deduce.grid20.rowk. k12 is 1 by hidden-single.

deduce.grid20.rowk. k15 is 13 by hidden-single.

pending={k11, k12, k15}

deduce.grid20: naked-singles

grid20 didn't work: naked-singles ran out of candidates.

…backtrack.grid19 again

backtrack.grid19 → grid21: c3 guess 11 ∈ {1|11}

pending={c3}

deduce.grid21: naked-singles

grid21 didn't work: naked-singles ran out of candidates.

…backtrack.grid19 again

grid19 didn't work: exhaustive search revealed no solution.

…backtrack.grid15 again

grid15 didn't work: exhaustive search revealed no solution.

…backtrack.grid13 again

grid13 didn't work: exhaustive search revealed no solution.

…backtrack.grid12 again

backtrack.grid12 → grid22: a4 guess 15 ∈ {2|15}

pending={a4}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowd. d15 is 11 by hidden-single.

pending={d15}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowd. d13 is 9 by hidden-single.

pending={d13}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowd. d14 is 4 by hidden-single.

pending={d14}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowe. e16 is 16 by hidden-single.

pending={e16}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowe. e7 is 4 by hidden-single.

pending={e7}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowf. f1 is 15 by hidden-single.

pending={f1}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowf. f4 is 4 by hidden-single.

pending={f4}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowi. i13 is 2 by hidden-single.

pending={i13}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowk. k12 is 1 by hidden-single.

pending={k12}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowm. m16 is 2 by hidden-single.

pending={m16}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowm. m9 is 6 by hidden-single.

pending={m9}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowp. p1 is 11 by hidden-single.

pending={p1}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.box11. k11 is 8 by hidden-single.

pending={k11}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.col11. l11 is 4 by hidden-single.

pending={l11}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.rowl. l4 is 10 by hidden-single.

pending={l4}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.col11. i11 is 10 by hidden-single.

pending={i11}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.box11. i10 is 7 by hidden-single.

pending={i10}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22.col6. j6 is 7 by hidden-single.

pending={j6}

deduce.grid22: naked-singles

deduce.grid22: hidden-singles

deduce.grid22: naked-pairs

two's heap=f5 {1|3}, d7 {3|6}, e6 {1|6}, g13 {4|12}, b16 {3|7}, e14 {1|6}, f14 {1|6}, g16 {4|13}, i4 {1|13}, c15 {8|10}, c14 {1|8}, n11 {7|14}, o1 {4|8}, d3 {7|14}, f7 {3|6}, b15 {15|16}, d4 {7|14}, d5 {3|16}, j1 {4|16}, j4 {1|13}, k3 {4|16}, l10 {13|16}, m1 {8|16}, m3 {14|16}, b14 {7|15}, c16 {1|10}, o6 {1|15}, p10 {13|16}.

Naked-pair {1|6} in cells {e6, e14, f14} contained within {rowe, col14, box8}, updating cells {b14, c14, g13, g15, g16, i14, j14, p14}:

Naked-pair {3|6} in cells {d7, f7} contained within {col7}, updating cells {l7, n7, p7}:

Naked-pair {1|13} in cells {i4, j4} contained within {col4, box9}, updating cells {d4, j1, k3, n4, o4, p4}:

Naked-pair {7|14} in cells {d3, d4, n11} contained within {rowd, box1}, updating cells {d5, d7, d8}:

Naked-pair {4|16} in cells {j1, k3} contained within {box9}, updating cells {i4, j4}:

pending={c14, l7}

deduce.grid22: naked-singles

grid22 didn't work: naked-singles ran out of candidates.

…backtrack.grid12 again

grid12 didn't work: exhaustive search revealed no solution.

…backtrack.grid11 again

backtrack.grid11 → grid23: a9 guess 9 ∈ {7|9}

pending={a9}

deduce.grid23: naked-singles

deduce.grid23: hidden-singles

deduce.grid23.rowf. f11 is 9 by hidden-single.

pending={f11}

deduce.grid23: naked-singles

deduce.grid23: hidden-singles

deduce.grid23.rowf. f9 is 16 by hidden-single.

pending={f9}

deduce.grid23: naked-singles

deduce.grid23: hidden-singles

deduce.grid23.rowf. f12 is 7 by hidden-single.

pending={f12}

deduce.grid23: naked-singles

deduce.grid23: hidden-singles

deduce.grid23: naked-pairs

two's heap=c12 {1|2}, g3 {1|4}, i12 {1|6}, a11 {2|7}, e10 {3|6}, g10 {3|6}, d7 {3|6}, o6 {1|15}, b1 {1|15}, g2 {2|16}, c3 {1|11}, b15 {15|16}, g11 {2|8}, d5 {3|16}, o1 {4|8}, e2 {2|16}.

Naked-pair {3|6} in cells {d7, e10, g10} contained within {col10, box7}, updating cells {e12, g11, i10, l10, p10}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, f4, g3, g4}:

grid23
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6
 2  
  7 
    
  15 
10 12 1 11 9 8
 2  
  7 
    
    
16 13
 2  
  7 
    
  15 
5 14
b
1   
    
    
  15 
12 8 5 2 13 9 14 11 4 6 10
1 3 
  7 
    
   16
1   
  7 
    
  15 
    
    
    
  1516
1 3 
  7 
    
   16
c 13 9
1   
    
  11 
    
16 5 4 15 7 12 14 3
12  
    
    
    
6
12  
   8
    
    
    
   8
 1011 
    
12  
    
 10  
    
d
12  
    
  11 
    
10
1   
  7 
  11 
 14  
12  
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
  7 
    
    
13
1234
  7 
9   
   16
12 4
  7 
    
    
   4
    
9 11 
   16
12
e 14
 2  
    
    
   16
13 11 9
1 3 
 6  
    
    
  34
 6 8
    
    
5 10
  3 
 6  
    
    
12
 2  
   8
    
    
15
1  4
 6  
    
    
7
1  4
 6  
    
   16
f
1  4
    
    
  15 
5 12
1 34
    
    
  15 
1 34
    
    
    
14
  34
 6  
    
    
13 16 11 9 7 10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
1 34
    
    
    
15 11
  34
 6 8
    
    
10 5
  3 
 6  
    
    
 2  
   8
    
    
14
1  4
    
   12
   16
9
   4
 6  
   12
13  16
1  4
 6  
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
  1516
12 4
1   
 67 
    
1314  
    
  7 
    
13  16
1   
  7 
 10  
 14 16
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
 67 
    
131415 
    
 6  
 10  
13 1516
9
j
1  4
    
    
   16
14 15
1  4
    
 10  
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
   4
 678
    
13   
   4
 6 8
 10  
13  16
  34
 67 
 10  
13  16
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
  78
    
   16
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13  16
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314  
    
    
    
13  16
   4
5   
 10  
 14 16
   4
56  
    
    
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14  
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
 2 4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 678
    
1314  
9
1  4
  78
    
 14 16
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 678
    
1314  
2
1  4
5 78
    
 14  
12
1  4
5 78
9   
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
 2 4
  7 
    
 14  
6 10
 234
   8
    
1314  
  3 
   8
9   
   16
    
  78
    
1314  
    
  7 
    
13  16
   4
5 78
    
 14 16
  34
5  8
    
    
 2 4
5 78
9  12
 14  
 2 4
  78
    
1314  
   4
   8
9  12
13   
15

backtrack.grid23 → grid24: a11 guess 2 ∈ {2|7}

pending={a11}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowd. d15 is 11 by hidden-single.

pending={d15}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowd. d13 is 9 by hidden-single.

pending={d13}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowd. d14 is 4 by hidden-single.

pending={d14}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowe. e7 is 8 by hidden-single.

pending={e7}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowe. e16 is 4 by hidden-single.

pending={e16}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowp. p1 is 11 by hidden-single.

pending={p1}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.col3. p3 is 7 by hidden-single.

pending={p3}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.col4. a4 is 7 by hidden-single.

pending={a4}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowb. b1 is 15 by hidden-single.

pending={b1}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowf. f4 is 15 by hidden-single.

pending={f4}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.col4. g4 is 3 by hidden-single.

pending={g4}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowk. k11 is 1 by hidden-single.

pending={k11}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.col10. i10 is 7 by hidden-single.

pending={i10}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.col6. j6 is 7 by hidden-single.

pending={j6}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.col12. p12 is 3 by hidden-single.

pending={p12}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.col12. l12 is 5 by hidden-single.

pending={l12}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.col14. b14 is 7 by hidden-single.

pending={b14}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.col15. i15 is 15 by hidden-single.

pending={i15}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.box11. k12 is 8 by hidden-single.

pending={k12}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowp. p13 is 12 by hidden-single.

pending={p13}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowp. p11 is 5 by hidden-single.

pending={p11}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowi. i6 is 16 by hidden-single.

pending={i6}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowi. i4 is 1 by hidden-single.

pending={i4}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowi. i9 is 13 by hidden-single.

pending={i9}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowl. l4 is 10 by hidden-single.

pending={l4}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowl. l7 is 13 by hidden-single.

pending={l7}

deduce.grid24: naked-singles

deduce.grid24: hidden-singles

deduce.grid24.rowm. m13 is 14 by hidden-single.

pending={m13}

deduce.grid24: naked-singles

grid24 didn't work: naked-singles ran out of candidates.

…backtrack.grid23 again

backtrack.grid23 → grid25: a11 guess 7 ∈ {2|7}

pending={a11}

deduce.grid25: naked-singles

deduce.grid25: hidden-singles

deduce.grid25.col12. p12 is 3 by hidden-single.

pending={p12}

deduce.grid25: naked-singles

deduce.grid25: hidden-singles

deduce.grid25.col12. l12 is 5 by hidden-single.

pending={l12}

deduce.grid25: naked-singles

deduce.grid25: hidden-singles

deduce.grid25: naked-pairs

two's heap=c12 {1|2}, d11 {1|2}, g3 {1|4}, i12 {1|6}, e10 {3|6}, c3 {1|11}, g10 {3|6}, d7 {3|6}, o1 {4|8}, o6 {1|15}, a14 {2|15}, a4 {2|15}, g2 {2|16}, d5 {3|16}, e12 {2|8}, b15 {15|16}, g11 {2|8}, l10 {13|16}, b1 {1|15}, e2 {2|16}.

Naked-pair {3|6} in cells {d7, e10, g10} contained within {col10, box7}, updating cells {e12, g11, i10, l10, p10}:

Naked-pair {2|8} in cells {e12, g11} contained within {box7}, updating cells {e10, g10}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, f4, g3, g4}:

grid25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6
 2  
    
    
  15 
10 12 1 11 9 8 7 16 13
 2  
    
    
  15 
5 14
b
1   
    
    
  15 
12 8 5 2 13 9 14 11 4 6 10
1 3 
  7 
    
   16
1   
  7 
    
  15 
    
    
    
  1516
1 3 
  7 
    
   16
c 13 9
1   
    
  11 
    
16 5 4 15 7 12 14 3
12  
    
    
    
6
12  
   8
    
    
    
   8
 1011 
    
12  
    
 10  
    
d
12  
    
  11 
    
10
1   
  7 
  11 
 14  
12  
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
    
    
    
13
1234
  7 
9   
   16
12 4
  7 
    
    
   4
    
9 11 
   16
12
e 14
 2  
    
    
   16
13 11 9
1 3 
 6  
    
    
  34
 6 8
    
    
5 10
  3 
 6  
    
    
12
 2  
   8
    
    
15
1  4
 6  
    
    
7
1  4
 6  
    
   16
f
1  4
    
    
  15 
5 12
1 34
    
    
  15 
1 34
    
    
    
14
  34
 6  
    
    
13 16 11 9 7 10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
1 34
    
    
    
15 11
  34
 6 8
    
    
10 5
  3 
 6  
    
    
 2  
   8
    
    
14
1  4
    
   12
   16
9
   4
 6  
   12
13  16
1  4
 6  
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
  1516
12 4
1   
 67 
    
1314  
    
  7 
    
13  16
1   
    
 10  
 14 16
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
 67 
    
131415 
    
 6  
 10  
13 1516
9
j
1  4
    
    
   16
14 15
1  4
    
 10  
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
   4
 678
    
13   
   4
 6 8
 10  
13  16
  34
 67 
 10  
13  16
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
   8
    
   16
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13  16
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314  
    
    
    
13  16
   4
    
 10  
 14 16
5
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14  
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
 2 4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 678
    
1314  
9
1  4
   8
    
 14 16
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 678
    
1314  
2
1  4
5  8
    
 14  
12
1  4
5 78
9   
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
 2 4
  7 
    
 14  
6 10
 2 4
   8
    
1314  
    
   8
9   
   16
    
  78
    
1314  
    
  7 
    
13  16
   4
5  8
    
 14 16
3
 2 4
5 78
9  12
 14  
 2 4
  78
    
1314  
   4
   8
9  12
13   
15

backtrack.grid25 → grid26: a4 guess 2 ∈ {2|15}

pending={a4}

deduce.grid26: naked-singles

deduce.grid26: hidden-singles

deduce.grid26.rowb. b1 is 15 by hidden-single.

pending={b1}

deduce.grid26: naked-singles

deduce.grid26: hidden-singles

deduce.grid26.rowf. f4 is 15 by hidden-single.

pending={f4}

deduce.grid26: naked-singles

deduce.grid26: hidden-singles

deduce.grid26.col4. g4 is 3 by hidden-single.

pending={g4}

deduce.grid26: naked-singles

deduce.grid26: hidden-singles

deduce.grid26.col15. i15 is 15 by hidden-single.

pending={i15}

deduce.grid26: naked-singles

deduce.grid26: hidden-singles

deduce.grid26: naked-pairs

two's heap=c12 {1|2}, f1 {1|4}, d11 {1|2}, i12 {1|6}, e6 {1|6}, g3 {1|4}, d7 {3|6}, c3 {1|11}, o1 {4|8}, d5 {3|16}, e12 {2|8}, g2 {2|16}, b14 {1|7}, g7 {4|8}, g11 {2|8}, e2 {2|16}, l10 {13|16}, d1 {1|11}, o6 {1|15}.

Naked-pair {1|4} in cells {f1, g3} contained within {box5}, updating cells {e2, g2}:

Naked-pair {1|11} in cells {c3, d1} contained within {box1}, updating cells {d3, d4}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, g3}:

grid26
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6 2 10 12 1 11 9 8 7 16 13 15 5 14
b 15 12 8 5 2 13 9 14 11 4 6 10
1 3 
  7 
    
    
1   
  7 
    
    
16
1 3 
  7 
    
    
c 13 9
1   
    
  11 
    
16 5 4 15 7 12 14 3
12  
    
    
    
6
12  
   8
    
    
    
   8
 1011 
    
12  
    
 10  
    
d
1   
    
  11 
    
10
    
  7 
    
 14  
    
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
    
    
    
13
1234
  7 
9   
    
12 4
  7 
    
    
   4
    
9 11 
    
12
e 14
 2  
    
    
   16
13 11 9
1   
 6  
    
    
   4
 6 8
    
    
5 10 3 12
 2  
   8
    
    
15
1  4
 6  
    
    
7
1  4
 6  
    
   16
f
1  4
    
    
    
5 12 15
1 34
    
    
    
14
  34
 6  
    
    
13 16 11 9 7 10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
3 15 11
   4
   8
    
    
10 5 6
 2  
   8
    
    
14
1  4
    
   12
   16
9
   4
    
   12
13   
1  4
    
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
   16
12 4
1   
 67 
    
1314  
    
  7 
    
13  16
1   
    
 10  
 14 16
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
 67 
    
1314  
15 9
j
1  4
    
    
   16
14 15
1  4
    
 10  
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
   4
 678
    
13   
   4
 6 8
 10  
13   
  34
 67 
 10  
13  16
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
   8
    
   16
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13   
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314  
    
    
    
13  16
   4
    
 10  
 14 16
5
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14  
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
   4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 678
    
1314  
9
1  4
   8
    
 14 16
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 678
    
1314  
2
1  4
5  8
    
 14  
12
1  4
5 78
9   
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
   4
  7 
    
 14  
6 10
 2 4
   8
    
1314  
    
   8
9   
   16
    
  78
    
1314  
    
  7 
    
13  16
   4
5  8
    
 14 16
3
 2 4
5 78
9  12
 14  
 2 4
  78
    
1314  
   4
   8
9  12
13   
15

backtrack.grid26 → grid27: b14 guess 1 ∈ {1|7}

pending={b14}

deduce.grid27: naked-singles

deduce.grid27: hidden-singles

deduce.grid27: naked-pairs

two's heap=c12 {1|2}, f1 {1|4}, d11 {1|2}, d7 {3|6}, g3 {1|4}, o1 {4|8}, e6 {1|6}, e14 {4|6}, f14 {4|6}, b13 {3|7}, i12 {1|6}, c16 {2|10}, o6 {1|15}, d1 {1|11}, e12 {2|8}, d3 {7|14}, b16 {3|7}, d4 {7|14}, g2 {2|16}, d5 {3|16}, g7 {4|8}, g11 {2|8}, c14 {2|8}, l10 {13|16}, c3 {1|11}, e2 {2|16}.

Naked-pair {1|4} in cells {f1, g3} contained within {box5}, updating cells {e2, g2}:

Naked-pair {4|6} in cells {e14, f14} contained within {col14, box8}, updating cells {c14, d14, e16, g13, g15, g16, i14, j14, p14}:

Naked-pair {3|7} in cells {b13, b16} contained within {rowb, box4}, updating cells {c14, c15, c16, d13, d14, d15}:

Naked-pair {1|11} in cells {c3, d1} contained within {box1}, updating cells {d3, d4}:

Naked-pair {7|14} in cells {d3, d4} contained within {rowd, box1}, updating cells {c3, d1, d5, d7, d8, d11, d13, d14, d15}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, g3}:

pending={d14}

deduce.grid27: naked-singles

deduce.grid27: hidden-singles

deduce.grid27.rowe. e16 is 16 by hidden-single.

pending={e16}

deduce.grid27: naked-singles

deduce.grid27: hidden-singles

deduce.grid27.rowe. e6 is 1 by hidden-single.

pending={e6}

deduce.grid27: naked-singles

deduce.grid27: hidden-singles

deduce.grid27.rowi. i13 is 2 by hidden-single.

pending={i13}

deduce.grid27: naked-singles

deduce.grid27: hidden-singles

deduce.grid27.rowk. k12 is 1 by hidden-single.

pending={k12}

deduce.grid27: naked-singles

deduce.grid27: hidden-singles

deduce.grid27.rowi. i4 is 1 by hidden-single.

pending={i4}

deduce.grid27: naked-singles

deduce.grid27: hidden-singles

deduce.grid27.rowi. i11 is 10 by hidden-single.

pending={i11}

deduce.grid27: naked-singles

deduce.grid27: hidden-singles

deduce.grid27.rowl. l4 is 10 by hidden-single.

deduce.grid27.rowl. l8 is 15 by hidden-single.

pending={l4, l8}

deduce.grid27: naked-singles

deduce.grid27: hidden-singles

deduce.grid27.rowj. j15 is 10 by hidden-single.

pending={j15}

deduce.grid27: naked-singles

deduce.grid27: hidden-singles

deduce.grid27.rowj. j13 is 8 by hidden-single.

pending={j13}

deduce.grid27: naked-singles

grid27 didn't work: naked-singles ran out of candidates.

…backtrack.grid26 again

backtrack.grid26 → grid28: b14 guess 7 ∈ {1|7}

pending={b14}

deduce.grid28: naked-singles

deduce.grid28: hidden-singles

deduce.grid28: naked-pairs

two's heap=c12 {1|2}, d11 {1|2}, f1 {1|4}, b16 {1|3}, b13 {1|3}, e12 {2|8}, e6 {1|6}, g3 {1|4}, i12 {1|6}, o1 {4|8}, o6 {1|15}, d3 {7|14}, c3 {1|11}, d4 {7|14}, g2 {2|16}, d5 {3|16}, g7 {4|8}, g11 {2|8}, d7 {3|6}, l10 {13|16}, d1 {1|11}, e2 {2|16}.

Naked-pair {1|3} in cells {b13, b16} contained within {rowb, box4}, updating cells {c14, c15, c16, d13, d14, d15}:

Naked-pair {1|4} in cells {f1, g3} contained within {box5}, updating cells {e2, g2}:

Naked-pair {1|11} in cells {c3, d1} contained within {box1}, updating cells {d3, d4}:

Naked-pair {7|14} in cells {d3, d4} contained within {rowd, box1}, updating cells {c3, d1, d5, d7, d8, d11, d13, d14, d15}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, g3}:

grid28
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6 2 10 12 1 11 9 8 7 16 13 15 5 14
b 15 12 8 5 2 13 9 14 11 4 6 10
1 3 
    
    
    
7 16
1 3 
    
    
    
c 13 9
1   
    
  11 
    
16 5 4 15 7 12 14 3
12  
    
    
    
6
 2  
   8
    
    
    
   8
 1011 
    
 2  
    
 10  
    
d
1   
    
  11 
    
10
    
  7 
    
 14  
    
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
    
    
    
13
 2 4
    
9   
    
 2 4
    
    
    
   4
    
9 11 
    
12
e 14
 2  
    
    
   16
13 11 9
1   
 6  
    
    
   4
 6 8
    
    
5 10 3 12
 2  
   8
    
    
15
1  4
 6  
    
    
7
1  4
 6  
    
   16
f
1  4
    
    
    
5 12 15
1 34
    
    
    
14
  34
 6  
    
    
13 16 11 9 7 10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
3 15 11
   4
   8
    
    
10 5 6
 2  
   8
    
    
14
1  4
    
   12
   16
9
   4
    
   12
13   
1  4
    
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
   16
12 4
1   
 67 
    
1314  
    
  7 
    
13  16
1   
    
 10  
 14 16
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
 6  
    
1314  
15 9
j
1  4
    
    
   16
14 15
1  4
    
 10  
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
   4
 6 8
    
13   
   4
 6 8
 10  
13   
  34
 67 
 10  
13  16
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
   8
    
   16
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13   
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314  
    
    
    
13  16
   4
    
 10  
 14 16
5
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14  
10 15
1  4
 6 8
    
    
12 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
   4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 678
    
1314  
9
1  4
   8
    
 14 16
11
12 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 678
    
1314  
2
1  4
5  8
    
 14  
12
1  4
5 78
9   
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
   4
  7 
    
 14  
6 10
 2 4
   8
    
1314  
    
   8
9   
   16
    
  78
    
1314  
    
  7 
    
13  16
   4
5  8
    
 14 16
3
 2 4
5 78
9  12
 14  
 2 4
   8
    
1314  
   4
   8
9  12
13   
15

backtrack.grid28 → grid29: b13 guess 1 ∈ {1|3}

pending={b13}

deduce.grid29: naked-singles

deduce.grid29: hidden-singles

deduce.grid29: naked-pairs

two's heap=c12 {1|2}, d11 {1|2}, f1 {1|4}, g3 {1|4}, d14 {2|4}, c14 {2|8}, e6 {1|6}, c16 {2|10}, g11 {2|8}, i12 {1|6}, d7 {3|6}, e2 {2|16}, d3 {7|14}, d4 {7|14}, e12 {2|8}, d5 {3|16}, g2 {2|16}, c3 {1|11}, g7 {4|8}, d1 {1|11}, l10 {13|16}, o1 {4|8}, o6 {1|15}.

Naked-pair {1|4} in cells {f1, g3} contained within {box5}, updating cells {e2, g2}:

Naked-pair {1|11} in cells {c3, d1} contained within {box1}, updating cells {d3, d4}:

Naked-pair {7|14} in cells {d3, d4} contained within {rowd, box1}, updating cells {c3, d1, d5, d7, d8, d11, d13, d14, d15}:

Naked-pair {2|16} in cells {e2, g2} contained within {col2, box5}, updating cells {f1, g3}:

grid29
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6 2 10 12 1 11 9 8 7 16 13 15 5 14
b 15 12 8 5 2 13 9 14 11 4 6 10 1 7 16 3
c 13 9
1   
    
  11 
    
16 5 4 15 7 12 14 3
12  
    
    
    
6
 2  
   8
    
    
    
   8
 1011 
    
 2  
    
 10  
    
d
1   
    
  11 
    
10
    
  7 
    
 14  
    
  7 
    
 14  
  3 
    
    
   16
8
  3 
 6  
    
    
  3 
 6  
    
   16
15 5
12  
    
    
    
13
 2 4
    
9   
    
 2 4
    
    
    
   4
    
9 11 
    
12
e 14
 2  
    
    
   16
13 11 9
1   
 6  
    
    
   4
 6 8
    
    
5 10 3 12
 2  
   8
    
    
15
1  4
 6  
    
    
7
1  4
 6  
    
   16
f
1  4
    
    
    
5 12 15
1 34
    
    
    
14
  34
 6  
    
    
13 16 11 9 7 10
1  4
 6  
    
    
2 8
g 7
 2  
    
    
   16
1  4
    
    
    
3 15 11
   4
   8
    
    
10 5 6
 2  
   8
    
    
14
   4
    
   12
   16
9
   4
    
   12
13   
1  4
    
    
13  16
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3
1   
    
 10  
13   
11
1   
 67 
    
   16
12 4
1   
 67 
    
1314  
    
  7 
    
13  16
1   
    
 10  
 14 16
1   
 6  
    
    
 2  
  7 
    
 14 16
 2  
 6  
    
1314  
15 9
j
1  4
    
    
   16
14 15
1  4
    
 10  
13   
1 3 
    
    
13  16
1 3 
 67 
    
   16
5
1 3 
 6  
    
   16
2 12 11 9
  34
  78
    
   16
   4
 6 8
    
13   
   4
 6 8
 10  
13   
   4
 67 
 10  
13  16
k 6 11
1  4
    
    
   16
12 14 9 10 2 3 15
1  4
   8
    
   16
1  4
   8
    
    
   4
  78
    
   16
5
   4
   8
    
13   
   4
  7 
    
13  16
l 9 7 2
   4
    
 10  
13   
8
  3 
 6  
    
  1516
  3 
 6  
    
13   
  3 
 6  
    
  1516
    
 6  
    
1314  
    
    
    
13  16
   4
    
 10  
 14 16
5
  34
    
    
 14 16
12 1 11
m
 2 4
   8
    
   16
13
   4
    
    
 14 16
9 12 5 7
1   
   8
    
   16
1   
 6 8
    
 14  
10 15
1  4
 6 8
    
    
 2 4
   8
    
 14  
11 3
12 4
 6  
    
    
n 12 15 5
   4
 67 
    
 14  
1 34
    
    
13  16
1 3 
    
    
   16
 234
   8
    
1314  
1 3 
   8
    
   16
1   
 678
    
1314  
9
1  4
   8
    
 14 16
11
 2 4
  78
    
 14  
10
   4
 6 8
    
13   
12 4
 67 
    
13   
o
   4
   8
    
    
3 10
   4
 67 
    
 14  
1  4
    
    
13   
1   
    
    
  15 
11
1   
   8
9   
  15 
1   
 678
    
1314  
2
1  4
5  8
    
 14  
12
   4
5 78
9   
 14  
16
   4
 6 8
9   
13   
1  4
 67 
    
13   
p
 2 4
   8
  11 
   16
1
   4
  7 
  11 
 14 16
   4
  7 
    
 14  
6 10
 2 4
   8
    
1314  
    
   8
9   
   16
    
  78
    
1314  
    
  7 
    
13  16
   4
5  8
    
 14 16
3
 2 4
5 78
9  12
 14  
 2 4
   8
    
1314  
   4
   8
9  12
13   
15

backtrack.grid29 → grid30: c3 guess 1 ∈ {1|11}

pending={c3}

deduce.grid30: naked-singles

deduce.grid30: hidden-singles

deduce.grid30.rowe. e6 is 1 by hidden-single.

deduce.grid30.rowe. e16 is 16 by hidden-single.

pending={e6, e16}

deduce.grid30: naked-singles

deduce.grid30: hidden-singles

deduce.grid30.rowk. k12 is 1 by hidden-single.

deduce.grid30.rowk. k16 is 13 by hidden-single.

pending={k12, k16}

deduce.grid30: naked-singles

grid30 didn't work: naked-singles ran out of candidates.

…backtrack.grid29 again

backtrack.grid29 → grid31: c3 guess 11 ∈ {1|11}

pending={c3}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowe. e7 is 8 by hidden-single.

deduce.grid31.rowe. e16 is 4 by hidden-single.

pending={e7, e16}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowj. j6 is 7 by hidden-single.

pending={j6}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowp. p13 is 12 by hidden-single.

pending={p13}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowp. p11 is 5 by hidden-single.

pending={p11}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowl. l4 is 10 by hidden-single.

pending={l4}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowo. o13 is 5 by hidden-single.

pending={o13}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.col5. d5 is 16 by hidden-single.

pending={d5}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.col14. p14 is 13 by hidden-single.

pending={p14}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowi. i9 is 7 by hidden-single.

pending={i9}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowp. p7 is 2 by hidden-single.

pending={p7}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.col3. d3 is 7 by hidden-single.

pending={d3}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowm. m13 is 14 by hidden-single.

pending={m13}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowl. l9 is 14 by hidden-single.

pending={l9}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowm. m8 is 8 by hidden-single.

pending={m8}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rown. n7 is 14 by hidden-single.

deduce.grid31.rown. n16 is 2 by hidden-single.

pending={n7, n16}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rown. n5 is 4 by hidden-single.

pending={n5}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rown. n9 is 13 by hidden-single.

pending={n9}

deduce.grid31: naked-singles

deduce.grid31: hidden-singles

deduce.grid31.rowj. j4 is 13 by hidden-single.

pending={j4}

deduce.grid31: naked-singles

deduce.grid31. Solved.

grid31
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a 3 4 6 2 10 12 1 11 9 8 7 16 13 15 5 14
b 15 12 8 5 2 13 9 14 11 4 6 10 1 7 16 3
c 13 9 11 16 5 4 15 7 12 14 3 1 6 2 8 10
d 1 10 7 14 16 8 3 6 15 5 2 13 9 4 11 12
e 14 16 13 11 9 1 8 5 10 3 12 2 15 6 7 4
f 4 5 12 15 3 14 6 13 16 11 9 7 10 1 2 8
g 7 2 1 3 15 11 4 10 5 6 8 14 16 9 12 13
h 10 6 9 8 7 2 16 12 4 1 13 15 11 3 14 5
i 5 8 3 1 11 16 12 4 7 13 10 6 2 14 15 9
j 16 14 15 13 1 7 5 3 2 12 11 9 4 8 10 6
k 6 11 4 12 14 9 10 2 3 15 1 8 7 5 13 16
l 9 7 2 10 8 6 13 15 14 16 4 5 3 12 1 11
m 2 13 16 9 12 5 7 8 6 10 15 4 14 11 3 1
n 12 15 5 7 4 3 14 1 13 9 16 11 8 10 6 2
o 8 3 10 6 13 15 11 9 1 2 14 12 5 16 4 7
p 11 1 14 4 6 10 2 16 8 7 5 3 12 13 9 15

grid31. Copying solution to raw grid.